from abc import ABCMeta, abstractmethod


class DormitoryService(metaclass=ABCMeta):

    # 仅获取所有宿舍id，返回一个列表
    @abstractmethod
    def getAllDormitoryId(self):
        pass

    # 获取所有宿舍id以及成员信息
    @abstractmethod
    def getAllDormitoryInformation(self):
        pass

    # 通过宿舍id查询宿舍信息
    @abstractmethod
    def getDormitoryInformationById(self, dormitoryId):
        pass

    # 添加新宿舍
    # 返回bool，false表明宿舍号已被使用
    @abstractmethod
    def addNewDormitory(self, dormitoryId):
        pass



    # 注销宿舍，由于外键约束，所有在此宿舍的学生的dormitoryId会变为None
    # 返回bool, false表示宿舍不存在
    @abstractmethod
    def deleteDormitory(self, dormitoryId):
        pass
